作為兩年前踏入職場的菜鳥,剛好遇到了AI改變開發流程的動盪時期。
從入職剛開始手刻CRUD、建立最基本的前後端概念,到後來學習模型的應用、嘗試成熟開源模型的微調,都還只能向ChatGPT描述問題試圖得到解答,出來的答案片面之餘,也不一定切合需求,無法保證能解決問題。當時還得苦惱的跟GPT聊好多次才能得到結論,免費版的額度根本就撐不住哈哈。
到現在AI工具已經發展到可以直接做開發與操控專案內容,讓人深刻的體會到軟體領域的變動與迭代。
當時在接觸LLM時蠻不知所措的,畢竟像是chatGPT、Gemini這些,都有完善的聊天介面提供給使用者,不曉得背後的原理,也沒能從中搞懂LLM如何應用在系統中。
這幾年一個很明顯的轉變是:LLM 已經從「聊天機器人」變成「程式裡的一個應用模組」。像是客服系統背後接了 LLM 做意圖分類、問答工具用 LLM 與資料庫結合做專業知識回應、agent 框架讓 LLM 自己決定要呼叫哪個工具⋯⋯這些場景的共通點是,LLM 不再是介面的終點,而是系統裡的一個中介層。
我在工作中接觸開發過一套企業用的 LLM API Gateway,親身體會到這是個很實際的工程問題:怎麼同時管理多家 provider、怎麼在某個模型掛掉時自動切換、怎麼追蹤成本跟延遲——這些都是LLM管理蠻重要的課題,是一整塊值得系統化操作的基礎建設層。
「使用AI協助開發」與「把LLM帶入程式」已經算是開發中常見的做法,正好這次有鐵人賽作為契機,記錄一下這陣子學習到關於LLM的概念與使用技巧,順便幫自己的知識做個整理!
整個系列大致分成六段:
| 階段 | 主題 |
|---|---|
| Part 1 | LLM 代入程式的基礎——第一支呼叫 API 的程式、streaming、structured output、錯誤處理 |
| Part 2 | Prompt Engineering——怎麼跟 LLM「講清楚」 |
| Part 3 | Context Engineering——理解並管理 context window |
| Part 4 | Harness Engineering——透過事前規劃的結構框架約束 LLM:工具怎麼被呼叫、結果怎麼餵回去、什麼時候該停 |
| Part 5 | RAG——LLM 應用中重要的一項能力:怎麼讓模型用上專屬的知識庫 |
| Part 6 | 實作個人版 LLM Router——多廠商模型的管理與監控 |
Part1~4是用來建立「如何用好llm」的基本功,呼叫、溝通方法、上下文管理、如何幫 LLM 設計行為框架讓它照規矩反覆做事,都是開始使用llm的基礎能力。RAG也是我個人認為蠻普遍且重要的llm應用,並且在最後分享對於模型廠商、成本管理的系統,是本次的計畫!
希望可以好好的完成這次鐵人賽,感謝大家的閱讀。
iThome鐵人賽